package com.glp.work.flow.request;

import com.glp.work.flow.constant.OrderStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 流程状态
 *
 * @author pengjia
 * @version 2020年3月9日 下午6:25:10
 */
@Data
public class ProcessStatusRequest implements Serializable {

    private static final long serialVersionUID = 6420712119887514805L;
    /**
     * 流程实例ID
     */
    @ApiModelProperty(value = "流程实例ID")
    private String processId;

    /**
     * 业务id
     */
    @ApiModelProperty(value="orderID")
    private String orderId;

    /**
     * 流程定义KEY
     */
    @ApiModelProperty(value = "流程定义KEY")
    private String processDefKey;
    /**
     * 流程定义id
     */
    @ApiModelProperty(value = "流程定义id")
    private String processDefId;
    /**
     * 操作
     */
    @ApiModelProperty(value = "工单操作")
    private String operation;

    /**
     * 工单状态
     */
    @ApiModelProperty(value = "工单状态")
    private OrderStatus status;

    @ApiModelProperty(value = "任务标识 区别任务是开始还是结束 start  end")
    private String logo;

    @ApiModelProperty(value = "userTask:用户节点消息，intermediateCatchEvent中间节点消息")
    private String messageType;

    /**
     * 当前节点
     */
    @ApiModelProperty(value = "当前节点")
    private String currentNode;

    /**
     * 当前节点id
     */
    @ApiModelProperty(value = "当前节点id")
    private String taskDefId;

    /**
     * 执行ID
     */
    @ApiModelProperty(value = "执行ID")
    private String executionId;

    /**
     * 任务ID
     */
    @ApiModelProperty(value = "任务ID")
    private String taskId;

    /**
     * 任务ID
     */
    @ApiModelProperty(value = "用户No")
    private String userNo;

    /**
     * 审批意见
     */
    @ApiModelProperty(value = "审批意见")
    private List<String> comments;

    @ApiModelProperty(value = "上一个节点的名称")
    private String previousNode;
    /**
     * 任务分配信息
     */
    @ApiModelProperty(value = "任务分配信息")
    private TaskAssignInfoDTO taskAssignInfo;

    @ApiModelProperty(value = "查询条件1")
    private String index_1;

    @ApiModelProperty(value = "查询条件2")
    private String index_2;

    @ApiModelProperty(value = "查询条件3")
    private String index_3;

    @ApiModelProperty(value = "表单数据")
    private String formData;
    @ApiModelProperty(value = "手写签字数据")
    private Map<String,String> handWritingSignatureData;

    @ApiModelProperty(value = "任务分配规则")
    private String taskDefRule;

    /**
     * 更新时间 yyyy-MM-dd HH:mm:ss
     */
    @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
    private String updateTime;

    @ApiModelProperty(value = "工单提交人")
    private String submitUser;

}
